<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
         backupGlobals="false"
         colors="true"
         bootstrap="tests/bootstrap.php"
         cacheResultFile="var/phpunit/result_cache"
         cacheResult="true"
         processIsolation="false">
  <coverage
      cacheDirectory="var/phpunit/coverage_cache"
      includeUncoveredFiles="true"
      processUncoveredFiles="true"
      >
      <!-- pathCoverage="true" -->
    <include>
      <directory suffix=".php">src</directory>
      <directory>components/Attachment</directory>
      <directory>components/Feed</directory>
      <!-- <directory>components/Group</directory> -->
      <directory>components/Person</directory>
      <!-- <directory>plugins/ActivityPub</directory> -->
    </include>
    <exclude>
      <directory>src/Util/Exception</directory>
      <directory>src/Controller</directory>
      <directory>src/PHPStan</directory>
      <directory>src/Routes</directory>
      <directory>src/Twig/Extension.php</directory>
      <directory>src/DataFixtures</directory> <!-- This is where the test data is loaded, it get's tested enough, me thinks -->
      <directory>src/Security</directory> <!-- TODO: Should be tested in the future -->
      <file>src/Kernel.php</file>
      <file>src/CacheKernel.php</file>
    </exclude>
    <report>
      <html outputDirectory=".test_coverage_report"/>
    </report>
  </coverage>
  <php>
    <ini name="error_reporting" value="-1"/>
    <server name="APP_ENV" value="test" force="true"/>
    <!-- <server name="APP_DEBUG" value="false" /> -->
    <server name="SHELL_VERBOSITY" value="-1"/>
    <server name="SYMFONY_PHPUNIT_REMOVE" value=""/>
    <server name="SYMFONY_PHPUNIT_VERSION" value="9.5"/>
    <!-- <env name="CACHE_DRIVER" value="array"/> -->
    <env name="SESSION_DRIVER" value="array"/>
    <env name="QUEUE_DRIVER" value="sync"/>
    <env name="MAIL_DRIVER" value="array"/>
  </php>
  <testsuites>
    <testsuite name="Controller">
      <directory suffix="Test.php">./tests/Controller</directory>
      <exclude>./tests/Controller/SecurityTest.php</exclude>
    </testsuite>
    <testsuite name="Core">
      <directory suffix="Test.php">./tests/Core</directory>
    </testsuite>
    <testsuite name="Entity">
      <directory suffix="Test.php">./tests/Entity</directory>
    </testsuite>
    <testsuite name="Twig">
      <directory suffix="Test.php">./tests/Twig</directory>
    </testsuite>
    <testsuite name="Util">
      <directory suffix="Test.php">./tests/Util</directory>
    </testsuite>
    <testsuite name="Plugins">
      <directory suffix="Test.php">./plugins/</directory>
    </testsuite>
    <testsuite name="Component">
      <directory suffix="Test.php">./components/</directory>
    </testsuite>
  </testsuites>
  <listeners>
    <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener"/>
  </listeners>
</phpunit>
